VoiceProcessorImplementation< Precision, VoiceClass, numChannels, maxVoices, GlobalParameterStorage > Class Template Reference

A Simple Voice Processor Implementation supporting note expression events. More...

#include <voiceprocessor.h>

Inheritance diagram for VoiceProcessorImplementation< Precision, VoiceClass, numChannels, maxVoices, GlobalParameterStorage >:
Inheritance graph
[legend]

Public Member Functions

 VoiceProcessorImplementation (float sampleRate, GlobalParameterStorage *globalParameters=0)
 ~VoiceProcessorImplementation ()
tresult process (ProcessData &data)

Protected Member Functions

VoiceClass * getVoice (int32 noteId)
VoiceClass * findVoice (int32 noteId)

Protected Attributes

VoiceClass voices [maxVoices]

Detailed Description

template<class Precision, class VoiceClass, int32 numChannels, int32 maxVoices, class GlobalParameterStorage>
class Steinberg::Vst::VoiceProcessorImplementation< Precision, VoiceClass, numChannels, maxVoices, GlobalParameterStorage >

A Simple Voice Processor Implementation supporting note expression events.

Parameters:
Precision must be either float or double
VoiceClass the voice class
numChannels number of channels
maxVoices number of maximum voices
GlobalParameterStorage a class holding global parameters

The VoiceClass must implement the following methods:

int32 getNoteId () const;
void setGlobalParameterStorage (GlobalParameterStorage* globalParameters);
void setSampleRate (ParamValue sampleRate);
void setNoteExpressionValue (int32 index, ParamValue value);
void noteOn (int32 pitch, ParamValue velocity, float tuning, int32 sampleOffset, int32 noteId);
void noteOff (ParamValue velocity, int32 sampleOffset);
bool process (SamplePrecision* outputBuffers[numChannels], int32 numSamples);
void reset () 

See Steinberg::Vst::VoiceBase for an example base class.

This implementation does not support advanced features like voice stealing when maxVoices is reached, etc ...


Constructor & Destructor Documentation

VoiceProcessorImplementation ( float  sampleRate,
GlobalParameterStorage *  globalParameters = 0 
) [inline]
~VoiceProcessorImplementation (  )  [inline]

Member Function Documentation

tresult process ( ProcessData data  )  [inline, virtual]

Implements VoiceProcessor.

VoiceClass * getVoice ( int32  noteId  )  [inline, protected]
VoiceClass * findVoice ( int32  noteId  )  [inline, protected]

Field Documentation

VoiceClass voices[maxVoices] [protected]
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.